home *** CD-ROM | disk | FTP | other *** search
- package koala.dynamicjava.tree;
-
- public class LongLiteral extends Literal {
- private static Long parse(String var0) {
- if (var0.startsWith("0x")) {
- return parseHexadecimal(var0.substring(2, var0.length()));
- } else {
- return var0.startsWith("0") ? parseOctal(var0) : Long.valueOf(var0);
- }
- }
-
- private static Long parseHexadecimal(String var0) {
- long var1 = 0L;
-
- for(int var3 = 0; var3 < var0.length(); ++var3) {
- char var4 = Character.toLowerCase(var0.charAt(var3));
- if (var1 >>> 60 != 0L) {
- throw new NumberFormatException(var0);
- }
-
- var1 = (var1 << 4) + (long)var4 + (long)(var4 >= 'a' && var4 <= 'f' ? -87 : -48);
- }
-
- return new Long(var1);
- }
-
- private static Long parseOctal(String var0) {
- int var1 = 0;
-
- for(int var2 = 0; var2 < var0.length(); ++var2) {
- char var3 = var0.charAt(var2);
- if (var1 >>> 61 != 0) {
- throw new NumberFormatException(var0);
- }
-
- var1 = (var1 << 3) + var3 - 48;
- }
-
- return new Long((long)var1);
- }
-
- public LongLiteral(String var1) {
- this(var1, (String)null, 0, 0, 0, 0);
- }
-
- public LongLiteral(String var1, String var2, int var3, int var4, int var5, int var6) {
- super(var1, parse(var1.substring(0, var1.length() - 1)), Long.TYPE, var2, var3, var4, var5, var6);
- }
- }
-